Modern day websites are continually adding new features and functionality to satisfy the needs and desires of website users. For example, many large websites now include a social component that allows users to interact with one another, or a support component that allows users to interact with support personnel and track support requests.
Since many websites have similar needs as the requirements of the websites expand, a market for third-party web applications has flourished. Third-party application developers create these social components, support components, and other components as stand-alone applications that are ready to “plug-in” to any website. Third-party application developers often provide an entire application to the website administrator, developer, or other technical representative of the purchaser. The administrator installs the third-party application on a system that is under the control of the administrator, performs some basic configuration tasks, and then “links” to the third-party application from the main website.
Administrators or developers often further customize each application in order to present a common “look and feel” throughout the website. For example, control panels within a third-party application may be altered to have the same rounded corners and use the same colors as control panels in the main web site. This consistent user experience enhances the branding of the website, and helps the customer navigate new features by presenting new features in a familiar and site-consistent way.
As more and more third-party applications are added to a website, the complexity of that website increases. In order to present a consistent user experience between a main application and several third-party applications, each of the third party applications must be customized to match the user interface of the main application. Since each application has its own structure and nomenclature, this customization often involves changing the original source code of each third party application to match a template, theme, or macro used by the main website.
These customizations must be re-applied each time the website administrator upgrades to a new version of any of the third-party applications. The third-party application developers continue to use their own nomenclature, and updated files will overwrite the customized files, causing a reversion to the nomenclature of the third party application developer. Thus, administrators must re-customize any files that are updated as a result of a new release or version of a third-party application. For large applications, this may mean finding hundreds or thousands things that need to be customized or re-customized, and applying changes accordingly, each time an application is updated. As additional third-party applications are added to the main web site, the task of keeping up with version changes for all of the third-party applications is compounded.
Since each third-party application is tied to its own structure and nomenclature, every customization must be separately made to each application. For example, each application may include a control panel that allows the user to change profile settings for that application. The applications may have been customized for a particular web site such that each control panel has a blue background, as well as other common attributes. By customizing the control panels of all of the applications in the same way, users of the web site encounter a consistent look and feel as they navigate throughout the web site. If the administrator wishes to make changes to attributes of the various control panels used by the web site (e.g., change the background color to red), then the administrator must re-customize each third-party application separately.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.